<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // https://leetcode-cn.com/problems/largest-number/
        // 理解sort函数
        // 重点理解 sort函数
        var largestNumber = function (nums) {
            nums = nums.map(item => {
                return item + '';
            })
            console.log(nums);
            nums.sort((a, b) => {
                // 如果 compareFunction(a, b) 小于 0 ，那么 a 会被排列到 b 之前；
                // 如果 compareFunction(a, b) 等于 0 ， a 和 b 的相对位置不变
                // 如果 compareFunction(a, b) 大于 0 ， b 会被排列到 a 之前。
                if (`${b}${a}` > `${a}${b}`) {
                    return 1
                } else {
                    return -1
                }
                // if (`${a}${b}` > `${b}${a}`) {
                //     return -1
                // }
                // else {
                //     return 1
                // }
            });
            // 到这种情况，说明全是0
            while (nums.length > 1 && nums[0] == '0') {
                let i = 0;
                if (nums[i] == '0') {
                    nums.splice(i, 1);
                    i++;
                }
            }
            console.log(nums);
            return nums.join('');
        };
        console.log(largestNumber([0, 0, 0]));
    </script>
</body>

</html>